home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / serien / purity / nr.20 / gadunit / gadbou1.p < prev    next >
Text File  |  1995-04-22  |  2KB  |  76 lines

  1. UNIT gadbou1;
  2.  
  3. INTERFACE
  4. USES Intuition;
  5. TYPE strtyp=STRING[256]
  6.  
  7. PROCEDURE umrandung(wo:p_window,c1,c2,x,y,b,h:INTEGER);
  8. PROCEDURE gbord(wo:p_window,was:p_gadget);
  9. PROCEDURE zeichnetext(c1,c2:SHORT,wo:p_window,x,y:INTEGER,text:strtyp);
  10. PROCEDURE uline(wo:p_window,was:p_gadget,c:CHAR);
  11. PROCEDURE gbu(wo:p_window,was:p_gadget,c:CHAR);
  12. PROCEDURE stringumrandung(wo:p_window,c1,c2,x,y,b,h:WORD);
  13.  
  14. IMPLEMENTATION;
  15.  
  16. PROCEDURE umrandung;
  17.  TYPE umrandungstyp=ARRAY[0..9] OF INTEGER;
  18.  VAR Feld1,feld2:umrandungstyp;
  19.      border1,border2:BORDER;
  20.  
  21.  BEGIN
  22.   feld1:=umrandungstyp(1,1,1,h-2,0,h-1,0,0,b-2,0);
  23.   feld2:=umrandungstyp(b-2,h-2,b-2,1,b-1,0,b-1,h-1,1,h-1);
  24.   Border1:=Border(x,y,c1,0,0,5,^Feld1,^Border2);
  25.   Border2:=Border(x,y,c2,0,0,5,^Feld2,Nil);
  26.   drawborder(wo^.rport,^Border1,0,0);
  27.  END;
  28.  
  29.  
  30. PROCEDURE gbord;
  31.  BEGIN
  32.   umrandung(wo,2,1,was^.Leftedge,was^.Topedge,was^.Width,was^.height);
  33.  END;
  34.  
  35. PROCEDURE zeichnetext;
  36.  VAR it1,it2:INTUITEXT;STATIC;
  37.  BEGIN
  38.   it1:=INTUITEXT(c1,0,JAM2,1,1,NIL,text,^it2);
  39.   it2:=INTUITEXT(c2,0,0,0,0,NIL,text,NIL );
  40.   PRINTITEXT(wo^.rport,^it1,x,y);
  41.  END;
  42.  
  43. PROCEDURE uline;
  44.  VAR  it:intuitext;STATIC;
  45.       x,y:LONG;STATIC;
  46.       stelle:INTEGER;
  47.  
  48.  BEGIN
  49.  IF was^.Gadgettext<> NIL THEN
  50.   BEGIN
  51.    stelle:=POS(c,was^.gadgettext^.itext);
  52.    If stelle>0 THEN
  53.    BEGIN
  54.     stelle:=stelle-1;
  55.     x:=was^.Gadgettext^.leftedge+was^.Leftedge+8*stelle;
  56.     y:=was^.Gadgettext^.topedge+was^.Topedge+1;
  57.     it:=INTUITEXT(was^.Gadgettext^.frontpen,0,0,0,0,NIL,'_',NIL );
  58.     PRINTITEXT(wo^.rport,^it,x,y);
  59.    END;
  60.   END;
  61.  END;
  62.  
  63. PROCEDURE gbu;
  64.  BEGIN
  65.   gbord(wo,was);
  66.   uline(wo,was,c);
  67.  END;
  68.  
  69. PROCEDURE stringumrandung;
  70.  BEGIN
  71.   umrandung(wo,c1,c2,x,y,b,h);
  72.   umrandung(wo,c2,c1,x-2,y-1,b+4,h+2);
  73.  END;
  74.  
  75. END.
  76.